package com.ag.bean;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * TbExpert entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "TB_EXPERT", schema = "dbo", catalog = "AGDB")
public class TbExpert implements java.io.Serializable {

	// Fields

	private String expId;
	private TbType tbType;
	private TbUser tbUser;
	private TbExpertArea tbExpertArea;
	private String expName;
	private String expSex;
	private String expImg;
	private Date expBirthday;
	private String expUnit;
	private String expEdutcation;
	private String expDeree;
	private String expTitle;
	private String extProfession;
	private String expPost;
	private String expSchool;
	private String expRusume;
	private String expFax;
	private String expTel;
	private String expMobile;
	private String a;
	private String b;
	private String c;

	// Constructors

	/** default constructor */
	public TbExpert() {
	}

	/** minimal constructor */
	public TbExpert(String expId, TbType tbType, TbUser tbUser,
			TbExpertArea tbExpertArea, String expName, String expSex
			) {
		this.expId = expId;
		this.tbType = tbType;
		this.tbUser = tbUser;
		this.tbExpertArea = tbExpertArea;
		this.expName = expName;
		this.expSex = expSex;
		
	}

	/** full constructor */
	public TbExpert(String expId, TbType tbType, TbUser tbUser,
			TbExpertArea tbExpertArea, String expName, String expSex,
			String expImg, Date expBirthday, String expUnit,
			String expEdutcation, String expDeree, String expTitle,
			String extProfession, String expPost, String expSchool,
			String expRusume, String expFax, String expTel, String expMobile,
			String a, String b, String c) {
		this.expId = expId;
		this.tbType = tbType;
		this.tbUser = tbUser;
		this.tbExpertArea = tbExpertArea;
		this.expName = expName;
		this.expSex = expSex;
		this.expImg = expImg;
		this.expBirthday = expBirthday;
		this.expUnit = expUnit;
		this.expEdutcation = expEdutcation;
		this.expDeree = expDeree;
		this.expTitle = expTitle;
		this.extProfession = extProfession;
		this.expPost = expPost;
		this.expSchool = expSchool;
		this.expRusume = expRusume;
		this.expFax = expFax;
		this.expTel = expTel;
		this.expMobile = expMobile;
		this.a = a;
		this.b = b;
		this.c = c;
	}

	// Property accessors
	@Id
	@Column(name = "EXP_ID", unique = true, nullable = false, length = 50)
	public String getExpId() {
		return this.expId;
	}

	public void setExpId(String expId) {
		this.expId = expId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "TPYE_ID", nullable = false)
	public TbType getTbType() {
		return this.tbType;
	}

	public void setTbType(TbType tbType) {
		this.tbType = tbType;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "EXP_ID", unique = true, nullable = false, insertable = false, updatable = false)
	public TbUser getTbUser() {
		return this.tbUser;
	}

	public void setTbUser(TbUser tbUser) {
		this.tbUser = tbUser;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "EXPAREA_ID", nullable = false)
	public TbExpertArea getTbExpertArea() {
		return this.tbExpertArea;
	}

	public void setTbExpertArea(TbExpertArea tbExpertArea) {
		this.tbExpertArea = tbExpertArea;
	}

	@Column(name = "EXP_NAME", nullable = false, length = 20)
	public String getExpName() {
		return this.expName;
	}

	public void setExpName(String expName) {
		this.expName = expName;
	}

	@Column(name = "EXP_SEX", nullable = false, length = 1)
	public String getExpSex() {
		return this.expSex;
	}

	public void setExpSex(String expSex) {
		this.expSex = expSex;
	}

	@Column(name = "EXP_IMG", length = 256)
	public String getExpImg() {
		return this.expImg;
	}

	public void setExpImg(String expImg) {
		this.expImg = expImg;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "EXP_BIRTHDAY", nullable = true, length = 23)
	public Date getExpBirthday() {
		return this.expBirthday;
	}

	public void setExpBirthday(Date expBirthday) {
		this.expBirthday = expBirthday;
	}

	@Column(name = "EXP_UNIT", length = 200)
	public String getExpUnit() {
		return this.expUnit;
	}

	public void setExpUnit(String expUnit) {
		this.expUnit = expUnit;
	}

	@Column(name = "EXP_EDUTCATION", length = 50)
	public String getExpEdutcation() {
		return this.expEdutcation;
	}

	public void setExpEdutcation(String expEdutcation) {
		this.expEdutcation = expEdutcation;
	}

	@Column(name = "EXP_DEREE", length = 50)
	public String getExpDeree() {
		return this.expDeree;
	}

	public void setExpDeree(String expDeree) {
		this.expDeree = expDeree;
	}

	@Column(name = "EXP_TITLE", length = 100)
	public String getExpTitle() {
		return this.expTitle;
	}

	public void setExpTitle(String expTitle) {
		this.expTitle = expTitle;
	}

	@Column(name = "EXT_PROFESSION", length = 100)
	public String getExtProfession() {
		return this.extProfession;
	}

	public void setExtProfession(String extProfession) {
		this.extProfession = extProfession;
	}

	@Column(name = "EXP_POST", length = 100)
	public String getExpPost() {
		return this.expPost;
	}

	public void setExpPost(String expPost) {
		this.expPost = expPost;
	}

	@Column(name = "EXP_SCHOOL", length = 100)
	public String getExpSchool() {
		return this.expSchool;
	}

	public void setExpSchool(String expSchool) {
		this.expSchool = expSchool;
	}

	@Column(name = "EXP_RUSUME", length = 1024)
	public String getExpRusume() {
		return this.expRusume;
	}

	public void setExpRusume(String expRusume) {
		this.expRusume = expRusume;
	}

	@Column(name = "EXP_FAX", length = 20)
	public String getExpFax() {
		return this.expFax;
	}

	public void setExpFax(String expFax) {
		this.expFax = expFax;
	}

	@Column(name = "EXP_TEL", length = 20)
	public String getExpTel() {
		return this.expTel;
	}

	public void setExpTel(String expTel) {
		this.expTel = expTel;
	}

	@Column(name = "EXP_MOBILE", length = 15)
	public String getExpMobile() {
		return this.expMobile;
	}

	public void setExpMobile(String expMobile) {
		this.expMobile = expMobile;
	}

	@Column(name = "A", length = 50)
	public String getA() {
		return this.a;
	}

	public void setA(String a) {
		this.a = a;
	}

	@Column(name = "B", length = 50)
	public String getB() {
		return this.b;
	}

	public void setB(String b) {
		this.b = b;
	}

	@Column(name = "C", length = 50)
	public String getC() {
		return this.c;
	}

	public void setC(String c) {
		this.c = c;
	}

}